-
-
Notifications
You must be signed in to change notification settings - Fork 291
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: merge stable to unstable #6703
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
nflaig
approved these changes
Apr 23, 2024
|
Benchmark suite | Current: 4c5a18a | Previous: b107d4b | Ratio |
---|---|---|---|
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 12.164 us/op | 3.4060 us/op | 3.57 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 67.508 us/op | 17.058 us/op | 3.96 |
Full benchmark results
Benchmark suite | Current: 4c5a18a | Previous: b107d4b | Ratio |
---|---|---|---|
getPubkeys - index2pubkey - req 1000 vs - 250000 vc | 447.98 us/op | 721.12 us/op | 0.62 |
getPubkeys - validatorsArr - req 1000 vs - 250000 vc | 77.183 us/op | 50.454 us/op | 1.53 |
BLS verify - blst-native | 1.3148 ms/op | 1.1027 ms/op | 1.19 |
BLS verifyMultipleSignatures 3 - blst-native | 2.5598 ms/op | 2.3569 ms/op | 1.09 |
BLS verifyMultipleSignatures 8 - blst-native | 5.9153 ms/op | 5.2180 ms/op | 1.13 |
BLS verifyMultipleSignatures 32 - blst-native | 21.447 ms/op | 19.246 ms/op | 1.11 |
BLS verifyMultipleSignatures 64 - blst-native | 39.915 ms/op | 38.214 ms/op | 1.04 |
BLS verifyMultipleSignatures 128 - blst-native | 86.040 ms/op | 74.997 ms/op | 1.15 |
BLS deserializing 10000 signatures | 895.27 ms/op | 778.40 ms/op | 1.15 |
BLS deserializing 100000 signatures | 9.6192 s/op | 8.1453 s/op | 1.18 |
BLS verifyMultipleSignatures - same message - 3 - blst-native | 1.2280 ms/op | 1.0928 ms/op | 1.12 |
BLS verifyMultipleSignatures - same message - 8 - blst-native | 1.8193 ms/op | 1.2356 ms/op | 1.47 |
BLS verifyMultipleSignatures - same message - 32 - blst-native | 2.1808 ms/op | 2.3654 ms/op | 0.92 |
BLS verifyMultipleSignatures - same message - 64 - blst-native | 6.6692 ms/op | 3.0427 ms/op | 2.19 |
BLS verifyMultipleSignatures - same message - 128 - blst-native | 5.3562 ms/op | 4.9902 ms/op | 1.07 |
BLS aggregatePubkeys 32 - blst-native | 24.388 us/op | 22.652 us/op | 1.08 |
BLS aggregatePubkeys 128 - blst-native | 94.214 us/op | 88.671 us/op | 1.06 |
notSeenSlots=1 numMissedVotes=1 numBadVotes=10 | 101.44 ms/op | 45.880 ms/op | 2.21 |
notSeenSlots=1 numMissedVotes=0 numBadVotes=4 | 99.604 ms/op | 47.222 ms/op | 2.11 |
notSeenSlots=2 numMissedVotes=1 numBadVotes=10 | 37.061 ms/op | 28.125 ms/op | 1.32 |
getSlashingsAndExits - default max | 232.62 us/op | 117.78 us/op | 1.97 |
getSlashingsAndExits - 2k | 472.44 us/op | 382.64 us/op | 1.23 |
proposeBlockBody type=full, size=empty | 5.2248 ms/op | 4.1638 ms/op | 1.25 |
isKnown best case - 1 super set check | 756.00 ns/op | 327.00 ns/op | 2.31 |
isKnown normal case - 2 super set checks | 816.00 ns/op | 340.00 ns/op | 2.40 |
isKnown worse case - 16 super set checks | 902.00 ns/op | 327.00 ns/op | 2.76 |
InMemoryCheckpointStateCache - add get delete | 6.8060 us/op | 5.4300 us/op | 1.25 |
validate api signedAggregateAndProof - struct | 2.5407 ms/op | 2.4186 ms/op | 1.05 |
validate gossip signedAggregateAndProof - struct | 2.4764 ms/op | 2.3761 ms/op | 1.04 |
validate gossip attestation - vc 640000 | 1.1810 ms/op | 1.1383 ms/op | 1.04 |
batch validate gossip attestation - vc 640000 - chunk 32 | 140.03 us/op | 138.38 us/op | 1.01 |
batch validate gossip attestation - vc 640000 - chunk 64 | 132.23 us/op | 118.49 us/op | 1.12 |
batch validate gossip attestation - vc 640000 - chunk 128 | 136.42 us/op | 115.20 us/op | 1.18 |
batch validate gossip attestation - vc 640000 - chunk 256 | 112.41 us/op | 110.78 us/op | 1.01 |
pickEth1Vote - no votes | 884.76 us/op | 973.53 us/op | 0.91 |
pickEth1Vote - max votes | 7.6803 ms/op | 7.3431 ms/op | 1.05 |
pickEth1Vote - Eth1Data hashTreeRoot value x2048 | 11.603 ms/op | 13.063 ms/op | 0.89 |
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 | 15.613 ms/op | 21.101 ms/op | 0.74 |
pickEth1Vote - Eth1Data fastSerialize value x2048 | 426.48 us/op | 412.63 us/op | 1.03 |
pickEth1Vote - Eth1Data fastSerialize tree x2048 | 4.7476 ms/op | 8.2823 ms/op | 0.57 |
bytes32 toHexString | 481.00 ns/op | 468.00 ns/op | 1.03 |
bytes32 Buffer.toString(hex) | 312.00 ns/op | 326.00 ns/op | 0.96 |
bytes32 Buffer.toString(hex) from Uint8Array | 416.00 ns/op | 461.00 ns/op | 0.90 |
bytes32 Buffer.toString(hex) + 0x | 316.00 ns/op | 312.00 ns/op | 1.01 |
Object access 1 prop | 0.19400 ns/op | 0.20200 ns/op | 0.96 |
Map access 1 prop | 0.19300 ns/op | 0.19500 ns/op | 0.99 |
Object get x1000 | 5.4800 ns/op | 5.6290 ns/op | 0.97 |
Map get x1000 | 0.76000 ns/op | 0.74500 ns/op | 1.02 |
Object set x1000 | 27.535 ns/op | 25.091 ns/op | 1.10 |
Map set x1000 | 17.889 ns/op | 17.416 ns/op | 1.03 |
Return object 10000 times | 0.23390 ns/op | 0.22700 ns/op | 1.03 |
Throw Error 10000 times | 2.8284 us/op | 2.7123 us/op | 1.04 |
fastMsgIdFn sha256 / 200 bytes | 2.1560 us/op | 1.9670 us/op | 1.10 |
fastMsgIdFn h32 xxhash / 200 bytes | 297.00 ns/op | 298.00 ns/op | 1.00 |
fastMsgIdFn h64 xxhash / 200 bytes | 354.00 ns/op | 339.00 ns/op | 1.04 |
fastMsgIdFn sha256 / 1000 bytes | 6.3110 us/op | 5.9720 us/op | 1.06 |
fastMsgIdFn h32 xxhash / 1000 bytes | 437.00 ns/op | 424.00 ns/op | 1.03 |
fastMsgIdFn h64 xxhash / 1000 bytes | 414.00 ns/op | 409.00 ns/op | 1.01 |
fastMsgIdFn sha256 / 10000 bytes | 54.930 us/op | 51.839 us/op | 1.06 |
fastMsgIdFn h32 xxhash / 10000 bytes | 1.9070 us/op | 1.8160 us/op | 1.05 |
fastMsgIdFn h64 xxhash / 10000 bytes | 1.4050 us/op | 1.2090 us/op | 1.16 |
send data - 1000 256B messages | 14.019 ms/op | 12.631 ms/op | 1.11 |
send data - 1000 512B messages | 16.645 ms/op | 14.608 ms/op | 1.14 |
send data - 1000 1024B messages | 30.751 ms/op | 28.183 ms/op | 1.09 |
send data - 1000 1200B messages | 32.429 ms/op | 29.355 ms/op | 1.10 |
send data - 1000 2048B messages | 42.526 ms/op | 38.911 ms/op | 1.09 |
send data - 1000 4096B messages | 38.706 ms/op | 33.740 ms/op | 1.15 |
send data - 1000 16384B messages | 99.883 ms/op | 87.031 ms/op | 1.15 |
send data - 1000 65536B messages | 428.39 ms/op | 410.78 ms/op | 1.04 |
enrSubnets - fastDeserialize 64 bits | 1.3290 us/op | 940.00 ns/op | 1.41 |
enrSubnets - ssz BitVector 64 bits | 632.00 ns/op | 427.00 ns/op | 1.48 |
enrSubnets - fastDeserialize 4 bits | 275.00 ns/op | 207.00 ns/op | 1.33 |
enrSubnets - ssz BitVector 4 bits | 567.00 ns/op | 426.00 ns/op | 1.33 |
prioritizePeers score -10:0 att 32-0.1 sync 2-0 | 154.19 us/op | 140.55 us/op | 1.10 |
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 | 224.32 us/op | 167.33 us/op | 1.34 |
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 | 256.90 us/op | 221.11 us/op | 1.16 |
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 | 380.77 us/op | 345.33 us/op | 1.10 |
prioritizePeers score 0:0 att 64-1 sync 4-1 | 584.26 us/op | 407.28 us/op | 1.43 |
array of 16000 items push then shift | 1.3998 us/op | 1.1916 us/op | 1.17 |
LinkedList of 16000 items push then shift | 8.3560 ns/op | 6.7150 ns/op | 1.24 |
array of 16000 items push then pop | 119.92 ns/op | 72.172 ns/op | 1.66 |
LinkedList of 16000 items push then pop | 6.5160 ns/op | 5.5770 ns/op | 1.17 |
array of 24000 items push then shift | 2.0689 us/op | 1.7611 us/op | 1.17 |
LinkedList of 24000 items push then shift | 6.2630 ns/op | 6.4630 ns/op | 0.97 |
array of 24000 items push then pop | 153.83 ns/op | 89.787 ns/op | 1.71 |
LinkedList of 24000 items push then pop | 6.0070 ns/op | 5.5090 ns/op | 1.09 |
intersect bitArray bitLen 8 | 6.2230 ns/op | 4.4080 ns/op | 1.41 |
intersect array and set length 8 | 59.328 ns/op | 46.257 ns/op | 1.28 |
intersect bitArray bitLen 128 | 33.103 ns/op | 27.819 ns/op | 1.19 |
intersect array and set length 128 | 829.52 ns/op | 645.92 ns/op | 1.28 |
bitArray.getTrueBitIndexes() bitLen 128 | 1.5740 us/op | 1.2140 us/op | 1.30 |
bitArray.getTrueBitIndexes() bitLen 248 | 2.4190 us/op | 1.9850 us/op | 1.22 |
bitArray.getTrueBitIndexes() bitLen 512 | 4.5490 us/op | 3.7010 us/op | 1.23 |
Buffer.concat 32 items | 925.00 ns/op | 990.00 ns/op | 0.93 |
Uint8Array.set 32 items | 1.7010 us/op | 1.9140 us/op | 0.89 |
Set add up to 64 items then delete first | 1.8182 us/op | 1.5960 us/op | 1.14 |
OrderedSet add up to 64 items then delete first | 3.0767 us/op | 2.4360 us/op | 1.26 |
Set add up to 64 items then delete last | 2.0453 us/op | 1.8147 us/op | 1.13 |
OrderedSet add up to 64 items then delete last | 3.3975 us/op | 2.7045 us/op | 1.26 |
Set add up to 64 items then delete middle | 2.4642 us/op | 1.8139 us/op | 1.36 |
OrderedSet add up to 64 items then delete middle | 4.9028 us/op | 3.8427 us/op | 1.28 |
Set add up to 128 items then delete first | 4.2108 us/op | 3.5179 us/op | 1.20 |
OrderedSet add up to 128 items then delete first | 6.2869 us/op | 5.5503 us/op | 1.13 |
Set add up to 128 items then delete last | 3.9051 us/op | 3.4492 us/op | 1.13 |
OrderedSet add up to 128 items then delete last | 5.8588 us/op | 5.2198 us/op | 1.12 |
Set add up to 128 items then delete middle | 4.0018 us/op | 3.4470 us/op | 1.16 |
OrderedSet add up to 128 items then delete middle | 10.768 us/op | 9.8765 us/op | 1.09 |
Set add up to 256 items then delete first | 7.9559 us/op | 6.9550 us/op | 1.14 |
OrderedSet add up to 256 items then delete first | 12.473 us/op | 11.163 us/op | 1.12 |
Set add up to 256 items then delete last | 7.6116 us/op | 6.8241 us/op | 1.12 |
OrderedSet add up to 256 items then delete last | 11.682 us/op | 10.570 us/op | 1.11 |
Set add up to 256 items then delete middle | 7.6187 us/op | 6.8184 us/op | 1.12 |
OrderedSet add up to 256 items then delete middle | 33.108 us/op | 28.877 us/op | 1.15 |
transfer serialized Status (84 B) | 1.4500 us/op | 1.3710 us/op | 1.06 |
copy serialized Status (84 B) | 1.1460 us/op | 1.1660 us/op | 0.98 |
transfer serialized SignedVoluntaryExit (112 B) | 1.5680 us/op | 1.6970 us/op | 0.92 |
copy serialized SignedVoluntaryExit (112 B) | 1.2320 us/op | 1.2650 us/op | 0.97 |
transfer serialized ProposerSlashing (416 B) | 1.6010 us/op | 2.0380 us/op | 0.79 |
copy serialized ProposerSlashing (416 B) | 1.3780 us/op | 1.5460 us/op | 0.89 |
transfer serialized Attestation (485 B) | 1.6190 us/op | 1.8760 us/op | 0.86 |
copy serialized Attestation (485 B) | 2.2830 us/op | 2.0230 us/op | 1.13 |
transfer serialized AttesterSlashing (33232 B) | 2.3620 us/op | 2.0440 us/op | 1.16 |
copy serialized AttesterSlashing (33232 B) | 4.3520 us/op | 4.9310 us/op | 0.88 |
transfer serialized Small SignedBeaconBlock (128000 B) | 2.5810 us/op | 2.3850 us/op | 1.08 |
copy serialized Small SignedBeaconBlock (128000 B) | 9.1320 us/op | 11.487 us/op | 0.79 |
transfer serialized Avg SignedBeaconBlock (200000 B) | 1.9920 us/op | 2.5260 us/op | 0.79 |
copy serialized Avg SignedBeaconBlock (200000 B) | 13.332 us/op | 16.937 us/op | 0.79 |
transfer serialized BlobsSidecar (524380 B) | 3.4850 us/op | 2.6730 us/op | 1.30 |
copy serialized BlobsSidecar (524380 B) | 76.690 us/op | 132.79 us/op | 0.58 |
transfer serialized Big SignedBeaconBlock (1000000 B) | 3.5810 us/op | 2.7670 us/op | 1.29 |
copy serialized Big SignedBeaconBlock (1000000 B) | 142.54 us/op | 129.58 us/op | 1.10 |
pass gossip attestations to forkchoice per slot | 3.1476 ms/op | 2.7843 ms/op | 1.13 |
forkChoice updateHead vc 100000 bc 64 eq 0 | 539.38 us/op | 536.73 us/op | 1.00 |
forkChoice updateHead vc 600000 bc 64 eq 0 | 2.8154 ms/op | 2.5790 ms/op | 1.09 |
forkChoice updateHead vc 1000000 bc 64 eq 0 | 4.4632 ms/op | 4.2724 ms/op | 1.04 |
forkChoice updateHead vc 600000 bc 320 eq 0 | 2.6448 ms/op | 2.6183 ms/op | 1.01 |
forkChoice updateHead vc 600000 bc 1200 eq 0 | 2.8881 ms/op | 2.7233 ms/op | 1.06 |
forkChoice updateHead vc 600000 bc 7200 eq 0 | 3.7860 ms/op | 3.2366 ms/op | 1.17 |
forkChoice updateHead vc 600000 bc 64 eq 1000 | 9.9785 ms/op | 9.8843 ms/op | 1.01 |
forkChoice updateHead vc 600000 bc 64 eq 10000 | 10.039 ms/op | 9.8005 ms/op | 1.02 |
forkChoice updateHead vc 600000 bc 64 eq 300000 | 12.416 ms/op | 11.722 ms/op | 1.06 |
computeDeltas 500000 validators 300 proto nodes | 3.4612 ms/op | 3.0128 ms/op | 1.15 |
computeDeltas 500000 validators 1200 proto nodes | 3.2675 ms/op | 2.8773 ms/op | 1.14 |
computeDeltas 500000 validators 7200 proto nodes | 3.5835 ms/op | 2.8637 ms/op | 1.25 |
computeDeltas 750000 validators 300 proto nodes | 5.9658 ms/op | 4.4217 ms/op | 1.35 |
computeDeltas 750000 validators 1200 proto nodes | 5.6500 ms/op | 4.4377 ms/op | 1.27 |
computeDeltas 750000 validators 7200 proto nodes | 7.2245 ms/op | 4.4686 ms/op | 1.62 |
computeDeltas 1400000 validators 300 proto nodes | 13.608 ms/op | 8.4632 ms/op | 1.61 |
computeDeltas 1400000 validators 1200 proto nodes | 14.131 ms/op | 8.6114 ms/op | 1.64 |
computeDeltas 1400000 validators 7200 proto nodes | 13.413 ms/op | 8.6726 ms/op | 1.55 |
computeDeltas 2100000 validators 300 proto nodes | 17.343 ms/op | 12.775 ms/op | 1.36 |
computeDeltas 2100000 validators 1200 proto nodes | 17.838 ms/op | 12.688 ms/op | 1.41 |
computeDeltas 2100000 validators 7200 proto nodes | 17.190 ms/op | 12.754 ms/op | 1.35 |
altair processAttestation - 250000 vs - 7PWei normalcase | 1.7680 ms/op | 1.7643 ms/op | 1.00 |
altair processAttestation - 250000 vs - 7PWei worstcase | 2.5250 ms/op | 2.4433 ms/op | 1.03 |
altair processAttestation - setStatus - 1/6 committees join | 83.322 us/op | 96.750 us/op | 0.86 |
altair processAttestation - setStatus - 1/3 committees join | 176.09 us/op | 194.48 us/op | 0.91 |
altair processAttestation - setStatus - 1/2 committees join | 298.18 us/op | 281.70 us/op | 1.06 |
altair processAttestation - setStatus - 2/3 committees join | 347.68 us/op | 355.15 us/op | 0.98 |
altair processAttestation - setStatus - 4/5 committees join | 456.12 us/op | 489.30 us/op | 0.93 |
altair processAttestation - setStatus - 100% committees join | 524.42 us/op | 559.65 us/op | 0.94 |
altair processBlock - 250000 vs - 7PWei normalcase | 7.4684 ms/op | 6.6890 ms/op | 1.12 |
altair processBlock - 250000 vs - 7PWei normalcase hashState | 30.255 ms/op | 31.827 ms/op | 0.95 |
altair processBlock - 250000 vs - 7PWei worstcase | 35.634 ms/op | 31.246 ms/op | 1.14 |
altair processBlock - 250000 vs - 7PWei worstcase hashState | 88.434 ms/op | 85.687 ms/op | 1.03 |
phase0 processBlock - 250000 vs - 7PWei normalcase | 2.9219 ms/op | 1.9098 ms/op | 1.53 |
phase0 processBlock - 250000 vs - 7PWei worstcase | 27.487 ms/op | 23.956 ms/op | 1.15 |
altair processEth1Data - 250000 vs - 7PWei normalcase | 264.83 us/op | 259.47 us/op | 1.02 |
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 | 12.164 us/op | 3.4060 us/op | 3.57 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 | 67.508 us/op | 17.058 us/op | 3.96 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 | 26.180 us/op | 10.510 us/op | 2.49 |
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 | 10.479 us/op | 7.8120 us/op | 1.34 |
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 | 153.12 us/op | 146.01 us/op | 1.05 |
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 | 1.3134 ms/op | 693.89 us/op | 1.89 |
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 | 1.8026 ms/op | 1.0713 ms/op | 1.68 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 | 1.4971 ms/op | 1.4612 ms/op | 1.02 |
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 | 2.9550 ms/op | 1.9483 ms/op | 1.52 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 | 1.9241 ms/op | 1.4502 ms/op | 1.33 |
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 | 4.0509 ms/op | 4.1255 ms/op | 0.98 |
Tree 40 250000 create | 281.50 ms/op | 252.35 ms/op | 1.12 |
Tree 40 250000 get(125000) | 134.92 ns/op | 111.54 ns/op | 1.21 |
Tree 40 250000 set(125000) | 2.5753 us/op | 743.62 ns/op | 3.46 |
Tree 40 250000 toArray() | 25.294 ms/op | 9.4685 ms/op | 2.67 |
Tree 40 250000 iterate all - toArray() + loop | 24.771 ms/op | 9.5316 ms/op | 2.60 |
Tree 40 250000 iterate all - get(i) | 57.341 ms/op | 39.819 ms/op | 1.44 |
MutableVector 250000 create | 15.030 ms/op | 9.9216 ms/op | 1.51 |
MutableVector 250000 get(125000) | 6.0530 ns/op | 5.6650 ns/op | 1.07 |
MutableVector 250000 set(125000) | 216.73 ns/op | 217.83 ns/op | 0.99 |
MutableVector 250000 toArray() | 2.9717 ms/op | 2.1646 ms/op | 1.37 |
MutableVector 250000 iterate all - toArray() + loop | 3.9465 ms/op | 2.4028 ms/op | 1.64 |
MutableVector 250000 iterate all - get(i) | 1.3530 ms/op | 1.3532 ms/op | 1.00 |
Array 250000 create | 3.0711 ms/op | 3.0582 ms/op | 1.00 |
Array 250000 clone - spread | 1.2634 ms/op | 1.0244 ms/op | 1.23 |
Array 250000 get(125000) | 1.1240 ns/op | 0.94300 ns/op | 1.19 |
Array 250000 set(125000) | 1.3250 ns/op | 1.1400 ns/op | 1.16 |
Array 250000 iterate all - loop | 161.49 us/op | 144.32 us/op | 1.12 |
effectiveBalanceIncrements clone Uint8Array 300000 | 16.834 us/op | 18.507 us/op | 0.91 |
effectiveBalanceIncrements clone MutableVector 300000 | 479.00 ns/op | 358.00 ns/op | 1.34 |
effectiveBalanceIncrements rw all Uint8Array 300000 | 198.20 us/op | 174.11 us/op | 1.14 |
effectiveBalanceIncrements rw all MutableVector 300000 | 72.223 ms/op | 60.659 ms/op | 1.19 |
phase0 afterProcessEpoch - 250000 vs - 7PWei | 83.681 ms/op | 74.177 ms/op | 1.13 |
phase0 beforeProcessEpoch - 250000 vs - 7PWei | 47.435 ms/op | 35.100 ms/op | 1.35 |
altair processEpoch - mainnet_e81889 | 448.49 ms/op | 369.76 ms/op | 1.21 |
mainnet_e81889 - altair beforeProcessEpoch | 87.279 ms/op | 66.073 ms/op | 1.32 |
mainnet_e81889 - altair processJustificationAndFinalization | 19.646 us/op | 9.1650 us/op | 2.14 |
mainnet_e81889 - altair processInactivityUpdates | 6.9184 ms/op | 4.2264 ms/op | 1.64 |
mainnet_e81889 - altair processRewardsAndPenalties | 66.396 ms/op | 52.333 ms/op | 1.27 |
mainnet_e81889 - altair processRegistryUpdates | 3.3750 us/op | 1.8520 us/op | 1.82 |
mainnet_e81889 - altair processSlashings | 770.00 ns/op | 567.00 ns/op | 1.36 |
mainnet_e81889 - altair processEth1DataReset | 934.00 ns/op | 619.00 ns/op | 1.51 |
mainnet_e81889 - altair processEffectiveBalanceUpdates | 1.3649 ms/op | 1.6865 ms/op | 0.81 |
mainnet_e81889 - altair processSlashingsReset | 4.5250 us/op | 2.2490 us/op | 2.01 |
mainnet_e81889 - altair processRandaoMixesReset | 5.9140 us/op | 2.6760 us/op | 2.21 |
mainnet_e81889 - altair processHistoricalRootsUpdate | 1.0570 us/op | 794.00 ns/op | 1.33 |
mainnet_e81889 - altair processParticipationFlagUpdates | 2.6390 us/op | 1.2870 us/op | 2.05 |
mainnet_e81889 - altair processSyncCommitteeUpdates | 1.5260 us/op | 645.00 ns/op | 2.37 |
mainnet_e81889 - altair afterProcessEpoch | 82.866 ms/op | 81.099 ms/op | 1.02 |
capella processEpoch - mainnet_e217614 | 1.9103 s/op | 1.6493 s/op | 1.16 |
mainnet_e217614 - capella beforeProcessEpoch | 594.11 ms/op | 396.70 ms/op | 1.50 |
mainnet_e217614 - capella processJustificationAndFinalization | 21.368 us/op | 13.475 us/op | 1.59 |
mainnet_e217614 - capella processInactivityUpdates | 24.428 ms/op | 15.633 ms/op | 1.56 |
mainnet_e217614 - capella processRewardsAndPenalties | 576.70 ms/op | 454.29 ms/op | 1.27 |
mainnet_e217614 - capella processRegistryUpdates | 26.535 us/op | 22.070 us/op | 1.20 |
mainnet_e217614 - capella processSlashings | 854.00 ns/op | 570.00 ns/op | 1.50 |
mainnet_e217614 - capella processEth1DataReset | 848.00 ns/op | 633.00 ns/op | 1.34 |
mainnet_e217614 - capella processEffectiveBalanceUpdates | 5.6368 ms/op | 15.960 ms/op | 0.35 |
mainnet_e217614 - capella processSlashingsReset | 5.7090 us/op | 3.0680 us/op | 1.86 |
mainnet_e217614 - capella processRandaoMixesReset | 14.361 us/op | 4.5990 us/op | 3.12 |
mainnet_e217614 - capella processHistoricalRootsUpdate | 1.8440 us/op | 582.00 ns/op | 3.17 |
mainnet_e217614 - capella processParticipationFlagUpdates | 3.1880 us/op | 1.2260 us/op | 2.60 |
mainnet_e217614 - capella afterProcessEpoch | 280.65 ms/op | 204.39 ms/op | 1.37 |
phase0 processEpoch - mainnet_e58758 | 484.33 ms/op | 414.86 ms/op | 1.17 |
mainnet_e58758 - phase0 beforeProcessEpoch | 154.52 ms/op | 118.38 ms/op | 1.31 |
mainnet_e58758 - phase0 processJustificationAndFinalization | 22.831 us/op | 11.435 us/op | 2.00 |
mainnet_e58758 - phase0 processRewardsAndPenalties | 60.091 ms/op | 59.254 ms/op | 1.01 |
mainnet_e58758 - phase0 processRegistryUpdates | 16.878 us/op | 8.4720 us/op | 1.99 |
mainnet_e58758 - phase0 processSlashings | 890.00 ns/op | 718.00 ns/op | 1.24 |
mainnet_e58758 - phase0 processEth1DataReset | 967.00 ns/op | 828.00 ns/op | 1.17 |
mainnet_e58758 - phase0 processEffectiveBalanceUpdates | 899.95 us/op | 790.56 us/op | 1.14 |
mainnet_e58758 - phase0 processSlashingsReset | 3.4540 us/op | 4.3070 us/op | 0.80 |
mainnet_e58758 - phase0 processRandaoMixesReset | 5.9000 us/op | 8.8100 us/op | 0.67 |
mainnet_e58758 - phase0 processHistoricalRootsUpdate | 1.0070 us/op | 1.2940 us/op | 0.78 |
mainnet_e58758 - phase0 processParticipationRecordUpdates | 6.0960 us/op | 3.3370 us/op | 1.83 |
mainnet_e58758 - phase0 afterProcessEpoch | 79.136 ms/op | 67.960 ms/op | 1.16 |
phase0 processEffectiveBalanceUpdates - 250000 normalcase | 1.0936 ms/op | 1.1026 ms/op | 0.99 |
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 | 1.4939 ms/op | 1.8535 ms/op | 0.81 |
altair processInactivityUpdates - 250000 normalcase | 22.014 ms/op | 23.597 ms/op | 0.93 |
altair processInactivityUpdates - 250000 worstcase | 29.682 ms/op | 24.745 ms/op | 1.20 |
phase0 processRegistryUpdates - 250000 normalcase | 14.164 us/op | 6.6830 us/op | 2.12 |
phase0 processRegistryUpdates - 250000 badcase_full_deposits | 495.63 us/op | 429.03 us/op | 1.16 |
phase0 processRegistryUpdates - 250000 worstcase 0.5 | 132.71 ms/op | 109.75 ms/op | 1.21 |
altair processRewardsAndPenalties - 250000 normalcase | 61.134 ms/op | 51.858 ms/op | 1.18 |
altair processRewardsAndPenalties - 250000 worstcase | 58.669 ms/op | 62.913 ms/op | 0.93 |
phase0 getAttestationDeltas - 250000 normalcase | 6.7059 ms/op | 8.8617 ms/op | 0.76 |
phase0 getAttestationDeltas - 250000 worstcase | 9.5550 ms/op | 8.4588 ms/op | 1.13 |
phase0 processSlashings - 250000 worstcase | 87.286 us/op | 56.801 us/op | 1.54 |
altair processSyncCommitteeUpdates - 250000 | 120.14 ms/op | 106.02 ms/op | 1.13 |
BeaconState.hashTreeRoot - No change | 498.00 ns/op | 388.00 ns/op | 1.28 |
BeaconState.hashTreeRoot - 1 full validator | 122.44 us/op | 117.56 us/op | 1.04 |
BeaconState.hashTreeRoot - 32 full validator | 1.3105 ms/op | 1.5985 ms/op | 0.82 |
BeaconState.hashTreeRoot - 512 full validator | 21.074 ms/op | 15.507 ms/op | 1.36 |
BeaconState.hashTreeRoot - 1 validator.effectiveBalance | 242.74 us/op | 131.99 us/op | 1.84 |
BeaconState.hashTreeRoot - 32 validator.effectiveBalance | 2.9819 ms/op | 1.5629 ms/op | 1.91 |
BeaconState.hashTreeRoot - 512 validator.effectiveBalance | 34.509 ms/op | 19.752 ms/op | 1.75 |
BeaconState.hashTreeRoot - 1 balances | 88.327 us/op | 87.738 us/op | 1.01 |
BeaconState.hashTreeRoot - 32 balances | 885.61 us/op | 783.36 us/op | 1.13 |
BeaconState.hashTreeRoot - 512 balances | 8.8522 ms/op | 8.5292 ms/op | 1.04 |
BeaconState.hashTreeRoot - 250000 balances | 220.81 ms/op | 154.79 ms/op | 1.43 |
aggregationBits - 2048 els - zipIndexesInBitList | 23.243 us/op | 22.850 us/op | 1.02 |
byteArrayEquals 32 | 65.145 ns/op | 63.308 ns/op | 1.03 |
Buffer.compare 32 | 39.095 ns/op | 34.522 ns/op | 1.13 |
byteArrayEquals 1024 | 1.7407 us/op | 1.6822 us/op | 1.03 |
Buffer.compare 1024 | 45.246 ns/op | 42.400 ns/op | 1.07 |
byteArrayEquals 16384 | 26.862 us/op | 26.224 us/op | 1.02 |
Buffer.compare 16384 | 204.15 ns/op | 214.84 ns/op | 0.95 |
byteArrayEquals 123687377 | 215.66 ms/op | 206.04 ms/op | 1.05 |
Buffer.compare 123687377 | 7.3075 ms/op | 4.7056 ms/op | 1.55 |
byteArrayEquals 32 - diff last byte | 69.035 ns/op | 65.788 ns/op | 1.05 |
Buffer.compare 32 - diff last byte | 39.507 ns/op | 40.918 ns/op | 0.97 |
byteArrayEquals 1024 - diff last byte | 1.7730 us/op | 1.7479 us/op | 1.01 |
Buffer.compare 1024 - diff last byte | 46.715 ns/op | 45.202 ns/op | 1.03 |
byteArrayEquals 16384 - diff last byte | 28.577 us/op | 27.393 us/op | 1.04 |
Buffer.compare 16384 - diff last byte | 227.99 ns/op | 204.89 ns/op | 1.11 |
byteArrayEquals 123687377 - diff last byte | 210.83 ms/op | 199.19 ms/op | 1.06 |
Buffer.compare 123687377 - diff last byte | 4.4484 ms/op | 5.8757 ms/op | 0.76 |
byteArrayEquals 32 - random bytes | 4.4960 ns/op | 4.5100 ns/op | 1.00 |
Buffer.compare 32 - random bytes | 39.530 ns/op | 35.394 ns/op | 1.12 |
byteArrayEquals 1024 - random bytes | 4.4600 ns/op | 4.2830 ns/op | 1.04 |
Buffer.compare 1024 - random bytes | 38.246 ns/op | 34.033 ns/op | 1.12 |
byteArrayEquals 16384 - random bytes | 4.4700 ns/op | 4.2860 ns/op | 1.04 |
Buffer.compare 16384 - random bytes | 37.375 ns/op | 34.324 ns/op | 1.09 |
byteArrayEquals 123687377 - random bytes | 7.8300 ns/op | 7.5600 ns/op | 1.04 |
Buffer.compare 123687377 - random bytes | 45.650 ns/op | 36.740 ns/op | 1.24 |
regular array get 100000 times | 41.332 us/op | 39.289 us/op | 1.05 |
wrappedArray get 100000 times | 41.252 us/op | 39.221 us/op | 1.05 |
arrayWithProxy get 100000 times | 9.9769 ms/op | 9.3376 ms/op | 1.07 |
ssz.Root.equals | 55.322 ns/op | 53.418 ns/op | 1.04 |
byteArrayEquals | 54.065 ns/op | 53.482 ns/op | 1.01 |
Buffer.compare | 9.7680 ns/op | 9.6090 ns/op | 1.02 |
shuffle list - 16384 els | 5.8581 ms/op | 5.6591 ms/op | 1.04 |
shuffle list - 250000 els | 86.704 ms/op | 83.283 ms/op | 1.04 |
processSlot - 1 slots | 11.629 us/op | 11.361 us/op | 1.02 |
processSlot - 32 slots | 3.3147 ms/op | 2.3239 ms/op | 1.43 |
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei | 49.424 ms/op | 50.622 ms/op | 0.98 |
getCommitteeAssignments - req 1 vs - 250000 vc | 2.3950 ms/op | 2.3516 ms/op | 1.02 |
getCommitteeAssignments - req 100 vs - 250000 vc | 3.4415 ms/op | 3.5001 ms/op | 0.98 |
getCommitteeAssignments - req 1000 vs - 250000 vc | 3.7409 ms/op | 3.7565 ms/op | 1.00 |
findModifiedValidators - 10000 modified validators | 301.11 ms/op | 283.67 ms/op | 1.06 |
findModifiedValidators - 1000 modified validators | 177.53 ms/op | 154.20 ms/op | 1.15 |
findModifiedValidators - 100 modified validators | 154.14 ms/op | 136.56 ms/op | 1.13 |
findModifiedValidators - 10 modified validators | 151.53 ms/op | 126.52 ms/op | 1.20 |
findModifiedValidators - 1 modified validators | 142.48 ms/op | 128.78 ms/op | 1.11 |
findModifiedValidators - no difference | 172.49 ms/op | 158.52 ms/op | 1.09 |
compare ViewDUs | 4.1218 s/op | 4.1515 s/op | 0.99 |
compare each validator Uint8Array | 1.6237 s/op | 1.4730 s/op | 1.10 |
compare ViewDU to Uint8Array | 969.53 ms/op | 908.03 ms/op | 1.07 |
migrate state 1000000 validators, 24 modified, 0 new | 757.70 ms/op | 701.65 ms/op | 1.08 |
migrate state 1000000 validators, 1700 modified, 1000 new | 889.74 ms/op | 1.0010 s/op | 0.89 |
migrate state 1000000 validators, 3400 modified, 2000 new | 1.1702 s/op | 909.20 ms/op | 1.29 |
migrate state 1500000 validators, 24 modified, 0 new | 734.80 ms/op | 618.01 ms/op | 1.19 |
migrate state 1500000 validators, 1700 modified, 1000 new | 953.22 ms/op | 922.12 ms/op | 1.03 |
migrate state 1500000 validators, 3400 modified, 2000 new | 1.1717 s/op | 1.1708 s/op | 1.00 |
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei | 4.5300 ns/op | 4.8000 ns/op | 0.94 |
state getBlockRootAtSlot - 250000 vs - 7PWei | 732.47 ns/op | 790.05 ns/op | 0.93 |
computeProposers - vc 250000 | 6.6774 ms/op | 6.8082 ms/op | 0.98 |
computeEpochShuffling - vc 250000 | 86.481 ms/op | 81.027 ms/op | 1.07 |
getNextSyncCommittee - vc 250000 | 125.38 ms/op | 106.38 ms/op | 1.18 |
computeSigningRoot for AttestationData | 25.842 us/op | 25.160 us/op | 1.03 |
hash AttestationData serialized data then Buffer.toString(base64) | 1.2454 us/op | 1.2318 us/op | 1.01 |
toHexString serialized data | 793.28 ns/op | 754.91 ns/op | 1.05 |
Buffer.toString(base64) | 161.94 ns/op | 150.74 ns/op | 1.07 |
by benchmarkbot/action
🎉 This PR is included in v1.19.0 🎉 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Description